package com.softer.wxzj.service;

import com.github.pagehelper.PageInfo;
import com.softer.wxzj.common.entity.CommonResult;
import com.softer.wxzj.common.entity.Page;
import com.softer.wxzj.entity.RefPayInfo;
import com.softer.wxzj.service.base.BaseService;

import java.util.List;

/**
 * RefPayInfoService class
 *
 * @author wxr
 * @date 2019/7/1
 */
public interface RefPayInfoService extends BaseService<RefPayInfo> {
    /**
     * 凭证打印支付列表
     */
    RefPayInfo getPayList(String reqId,String accNoState,String fuzzy);
    /**
     * 修改有效期
     */
    CommonResult changeDate(String vaildDate,String id);

    /**
     * 新增或修改
     * @param refPayInfo
     * @return
     */
    CommonResult insertOrupdate(RefPayInfo refPayInfo);

    /**
     * 凭证冻结凭证信息
     * @param refPayInfo
     * @return
     */
    PageInfo<RefPayInfo> selectPayMessage(Page page,RefPayInfo refPayInfo);

    /**
     * 凭证冻结撤销
     * @param id
     * @param accNoState
     * @return
     */
    CommonResult updateAccNoStateById(String id, String accNoState);

    /**
     * 根据id查询凭证信息
     * @param reqId
     * @return
     */
    List<RefPayInfo> getPayListToBatchRefByReqId(String reqId,String fuzzy);

    /**
     * 生成新凭证
     * @param id
     * @return
     */
    CommonResult addNewVoucher(String id);
    /**
     * 汇总打印的生成新凭证
     * @param id
     * @return
     */
    CommonResult addNewCollectVoucher(String id);


    /**
     * 凭证汇总
     * @param reqId
     * @return
     */
    CommonResult collectVoucher(String reqId);

    /**
     * 日渐业务查询临时
     * @param reqNo
     * @return
     */
    RefPayInfo selectReqPayInfo(String reqNo);

    PageInfo<RefPayInfo> selectReqPayInfoList(Page page,RefPayInfo refPayInfo);

    CommonResult updateaccNoState(String id, String accNoState,String state,String certDate);

    PageInfo<RefPayInfo> selectRegionName(Page page, RefPayInfo refPayInfo);

    /**
     * 查询支付编号
     * @return
     */
    List<RefPayInfo> selectPayNo();

    /**
     * 根据id查询退款打印清册列表
     * @param id
     * @return
     */
    PageInfo<RefPayInfo> getBatchRefundPrintList(Page page, String id);
    /**
     * 根据id查询支取凭证  资金退款用
     * @param id
     * @return
     */
    RefPayInfo getNoCollectPrintVoucher(String id);

    /**
     * 汇总凭证打印
     * @param id
     * @return
     */
    RefPayInfo getCollectPrintVoucher(String id);

    /**
     * 查询凭证新增
     * @param payNo
     * @return
     */
    RefPayInfo selectPayInfoByNo(String payNo);
}
